package com.beauty.dressing.module.mine.persenter.contract;

import com.beauty.dressing.common.bean.AgreementBean;
import com.beauty.dressing.common.bean.DataBean;
import com.beauty.dressing.common.bean.LeaseBean;
import com.beauty.dressing.common.bean.LogisticsCompanyBean;
import com.beauty.dressing.common.bean.RefuseJudgeBean;
import com.beauty.dressing.common.bean.ReturnDetailInfoBean;

import java.util.List;

public interface MyLeaseContract {
    /**
     * 界面请求的回调
     * 数据从这里获取
     * 方法需要的参数为返回的数据
     */
    interface ViewControl {
        void showProgress();

        void onMyLease(boolean isSuccess, int code, String message, List<LeaseBean> list);

        void onExplain(boolean isSuccess, int code, String message, DataBean bean);

        void onAgreement(boolean isSuccess, int code, String message, AgreementBean bean);

        void onLostApply(boolean isSuccess, int code, String message);

        void onRefuseJudge(boolean isSuccess, int code, String message, int type, RefuseJudgeBean bean);

        void onGetLogisticsCompany(boolean isSuccess, int code, String message, List<LogisticsCompanyBean> list);

        void onReturnApply(boolean isSuccess, int code, String message);

        void onReturnDetail(boolean isSuccess, int code, String message, ReturnDetailInfoBean data);

        void onGetLogisticsInfo(boolean isSuccess, int code, String message, Object data);
    }

    /**
     * 界面调用网络请求逻辑
     */
    interface Presenter {
        void myLease(String member_id, String type, String token, String page);

        void explain();

        void agreement(String type);

        void lostApply(long member_id, int order_id, String token);

        void refuseJudge(String token, long Member_id, int order_id);

        void getLogisticsCompany();

        void returnApply(String token, int Member_id, int order_id, String company, String number, double return_money);

        void returnDetail(String token, long member_id, int order_id);

        void getLogisticsInfo(String token, long member_id, String number);
    }
}
